package com.example.wufan.recyclerviewtest.model;

import com.example.wufan.recyclerviewtest.bean.ArticleBean;
import com.example.wufan.recyclerviewtest.iface.ArticleListener;
import com.example.wufan.recyclerviewtest.iface.Articleiface;
import com.example.wufan.recyclerviewtest.service.ArticleService;

import java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

/**
 * Created by WuFan on 2017/4/20.
 */


    //model获取文章数据
    public class ArticleModel implements Articleiface{
        private Retrofit retrofit;
        private String BASEURL="http://amicool.neusoft.edu.cn/";

        //构造函数
        public ArticleModel()
        {
            retrofit=new Retrofit.Builder().baseUrl(BASEURL).addConverterFactory(GsonConverterFactory.create()).build();
        }

        //获取文章数据
        @Override
        public void getResultList(String mod, int page, String sessionID, final ArticleListener articleListener) {
            //使用retrofit---2
            ArticleService articleService=retrofit.create(ArticleService.class);
            Call<List<ArticleBean> > call=articleService.getResult(mod,page,sessionID);
            //使用retrofit---3
call.enqueue(new Callback<List<ArticleBean>>() {
@Override
public void onResponse(Call<List<ArticleBean>> call, Response<List<ArticleBean>> response) {
        if (response.isSuccessful()&&response!=null)
        {
        articleListener.onResponsse(response.body());}
        else articleListener.onFail("onresponse fail");
        }

@Override
public void onFailure(Call<List<ArticleBean>> call, Throwable t) {
        articleListener.onFail(t.toString());
        }
        });
        }
        }